package com.sap.sap_mangers.service;

import com.sap.sap_mangers.dto.luckyDraw.Price;
import com.sap.sap_mangers.pojo.SapLuckyDrawThemePrice;
import com.sap.sap_mangers.pojo.SapLuckyDrawUser;
import com.sap.sap_mangers.pojo.SapOtherCopywriting;
import com.sap.sap_mangers.until.SimpleJson;

import java.util.List;

/**
 * @author 阿东
 * @date 2022/8/30 [12:41]
 */
public interface OtherService {

    /**
     * 获取随机一条朋友圈文案
     *
     * @return
     */
    SapOtherCopywriting getPyqCopyWriting();

    /**
     * 获取随机一条电影台词文案
     *
     * @return
     */
    SapOtherCopywriting getDytcCopyWriting();

    /**
     * 获取随机一条网易云热评文案
     *
     * @return
     */
    SapOtherCopywriting getWyyCopyWriting();

    /**
     * 获取随机一条早安心语文案
     *
     * @return
     */
    SapOtherCopywriting getZaxyCopyWriting();

    /**
     * 获取随机一条晚安心语文案
     *
     * @return
     */
    SapOtherCopywriting getWaxyCopyWriting();

    /**
     * 获取随机一条毒鸡汤文案
     *
     * @return
     */
    SapOtherCopywriting getDjtCopyWriting();

    /**
     * 获取全部朋友圈文案
     *
     * @return
     */
    List<SapOtherCopywriting> getPyqCopyWritingSum();

    /**
     * 获取全部电影台词文案
     *
     * @return
     */
    List<SapOtherCopywriting> getDytcCopyWritingSum();

    /**
     * 获取全部网易云热评文案
     *
     * @return
     */
    List<SapOtherCopywriting> getWyyCopyWritingSum();

    /**
     * 获取全部早安心语文案
     *
     * @return
     */
    List<SapOtherCopywriting> getZaxyCopyWritingSum();

    /**
     * 获取全部晚安心语文案
     *
     * @return
     */
    List<SapOtherCopywriting> getWaxyCopyWritingSum();

    /**
     * 获取全部毒鸡汤文案
     *
     * @return
     */
    List<SapOtherCopywriting> getDjtCopyWritingSum();

    //以下内容为抽奖活动service
    /**
     * 创建抽奖活动主题
     * @param context 主题内容
     */
    void createLuckyDrawTheme(String context);

    /**
     * 创建奖品
     * @param price 抽奖活动主题id
     */
    SimpleJson createLuckyDrawPrice(Price price);

    /**
     * 获取最近一次抽奖活动的奖品及其数量
     * @return
     */
    List<SapLuckyDrawThemePrice>  getLuckDrawPriceLastById();
    /**
     * 获取最近一次抽奖活动的奖品及其数量(管理端)
     * @return
     */
     List<SapLuckyDrawThemePrice> getLuckDrawPriceLastByIdManager();

    /**
     * 申请加入抽奖活动
     */
    void joinLuckyDrawByUsername();

    /**
     * 随机抽奖
     * @param luckyDrawThemePriceId 奖品ID
     * @return 获奖信息
     */
    List<SapLuckyDrawUser> randomLuckyDraws(Long luckyDrawThemePriceId);

    /**
     * 获取最新活的获奖人信息
     * @return 获奖人信息
     */
    List<SapLuckyDrawUser> getAwardInformation();

    /**
     * 判断是否加入了最新一次的抽奖活动
     *
     * @return 内容
     */
    SapLuckyDrawUser isJoinLuckyDraw();
}
